There are a number of systems for managing objects such as source code files. These systems allow a developer to check-out a file(s) of a software base, make modifications to the file(s), and then check the files back in to the software base. The checked-in software must then be merged into the software base and/or other branches of the software base. The process of checking-in a file and merging the file is relatively straightforward when all the development is occurring at the same location and there are a limited number of developers. Files can be checked-in and merged at the same location using the same process.
However, current systems fall short when development on a software base is accomplished by multiple developers at multiple locations each of which has its own replica of the base. A developer may have to check-in a file at one location and then login remotely to a second location to complete the merge process. Having to complete these steps separately causes more complexity for cross-site software development.
For example, the IBM® ClearCase® system requires that a developer at a first location check-in a changed file at the first location. After the file has synchronized to a second replica, the developer must login at the second location and then perform a merge of the file into the code base. The developer is unable to perform these two steps at the same location, thus causing the developer to have extra overhead when checking-in and merging code in a multi-location environment.